package com.example.config;

import org.springframework.ai.chat.client.ChatClient;
import org.springframework.ai.chat.client.advisor.PromptChatMemoryAdvisor;
import org.springframework.ai.chat.client.advisor.api.Advisor;
import org.springframework.ai.chat.memory.ChatMemory;
import org.springframework.ai.chat.memory.InMemoryChatMemory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class ChatClientConfig {


    @Bean
    public ChatMemory chatMemory(){
        return new InMemoryChatMemory();
    }

    @Bean
    public ChatClient ollamaChatClient(ChatClient.Builder chatClientBuilder) {

        ChatClient chatClient = chatClientBuilder
                // 可以添加默认的系统提示
                .defaultSystem("你是一个友好的AI助手，用简洁明了的语言回答问题。")
                // 可以添加默认的增强器Ø
                .defaultAdvisors(
                        // 注意：如果添加默认对话记忆，所有对话将共享同一个上下文
                        // 对于生产环境，应该根据会话ID管理不同的记忆实例
//                        promptChatMemoryAdvisor()
                )
                .build();
        return chatClient;
    }
}
